package collection3;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

/**
 * Map接口说明
 * 特点：1.存储键值对 2.键不能重复3.值可以重复
 *
 */
public class Demo01 {
    public static void main(String[] args) {
        //创建Map集合
        Map<String,String> map =  new HashMap<String,String>();
        //1.添加数据
        map.put("cn","中国");
        map.put("uk","英国");
        map.put("usa","美国");
        System.out.println("元素个数" + map.size());
        System.out.println(map.toString());
        //2.删除元素
//        map.remove("usa");
        System.out.println(map.size());
        //3.遍历
        //3.1使用keySet()1.先拿到所有key的set集合，再通过get获取value值
        Set<String> keySet = map.keySet();
        for (String key : keySet) {
            System.out.println(key + map.get(key));
        }
        System.out.println("==========");
        for (String key : map.keySet()) {
            System.out.println(key + map.get(key));
        }
        //3.2使用entrySet()方法 1.得到键值对映射集合 2.再通过getKey()获取键 getValue()获取值 效率较高
        System.out.println("========使用entrySet()方法=========");
        Set<Map.Entry<String, String>> entries = map.entrySet();
        for (Map.Entry<String, String> entry : entries) {
            System.out.println(entry.getKey()+ entry.getValue());
        }
        System.out.println("===========");
        for (Map.Entry<String, String> entry : map.entrySet()) {
            System.out.println(entry.getKey() + entry.getValue());
        }
        //4.判断
        map.containsKey("cn");
        map.containsValue("韩国");

    }
}
